package org.persistente.esquema;

import java.lang.reflect.Field;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;


/**
 * Relação atributo-campo do tipo Boolean/INTEGER.
 */
public class CampoBoolean extends CampoAbstrato<Boolean> {

    public CampoBoolean(Field campo) {
        super(campo);
    }

    


    @Override
    public Boolean get(ResultSet rs) throws SQLException{
        int num = rs.getInt(getNome());
        if (rs.wasNull()) {
            return null;
        }
        return new Boolean(num != 0);
    }

    @Override
    public void set(PreparedStatement ps, int i, Boolean valor) throws SQLException{
        if (valor != null) {
            ps.setInt(i, valor ? 1 : 0);
        } else {
            ps.setNull(i, 4);
        }
    }



}
